#ifndef TAB_DYN_id_H
#   define TAB_DYN_id_H

/**
 * \struct tab_dyn_id tab_dyn_id.h
 * Tableau dynamique d'entiers positifs.
 * Sert notemment a dresser les listes de drops des ennemis
 */
struct tab_dyn_id
{
    unsigned int* tab;
    unsigned int nb_elements;
};




/**
 * \fn void init_tab_dyn_id(struct tab_dyn_id*, const unsigned int taille)
 * \brief Initialise un tableau dynamique d'id
 *
 * \param[out] tab Un pointeur vers le tableau a initialiser
 * \param[in] taille Le nombre de case qu'aura le tableau
 */
void init_tab_dyn_id(struct tab_dyn_id* tab, const unsigned int taille);



/**
 * \fn void detruire_tab_dyn_id(struct tab_dyn_id* tab)
 * \brief Libere la memoire allouee pour un tab_dyn_id
 *
 * \param tab Un pointeur vers le tableau a detruire
 */
void detruire_tab_dyn_id(struct tab_dyn_id* tab);


/**
 * \fn void ajouter_id(struct tab_dyn_id* tab, const unsigned int id)
 * \brief Ajoute un id dans un tab_dyn_id
 *
 * \param[in,out] tab Un pointeur vers le tableau concerne
 * \param[in] id L'id a ajouter
 * Cette fonction plante si le tableau est deja plein, mais cela ne devrait
normalement pas etre le cas, car il est cree a la bonne taille des le debut
 */
void ajouter_id(struct tab_dyn_id* tab, const unsigned int id);





#endif /* TAB_DYN_id_H */
